package co.yixiang.yshop.module.order.controller.admin.storeaftersales.vo;

import co.yixiang.yshop.framework.desensitize.core.slider.annotation.MobileDesensitize;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.math.BigDecimal;

/**
 * 售后记录 Base VO，提供给添加、修改、详细的子 VO 使用
 * 如果子 VO 存在差异的字段，请不要添加到这里，影响 Swagger 文档生成
 */
@Data
public class StoreAfterSalesBaseVO {

    @Schema(description = "订单号")
    private String orderCode;

    @Schema(description = "退款金额")
    private BigDecimal refundAmount;

    @Schema(description = "服务类型0仅退款1退货退款", example = "2")
    private Integer serviceType;

    @Schema(description = "申请原因")
    private String reasons;

    @Schema(description = "说明")
    private String explains;

    @Schema(description = "说明图片->多个用逗号分割")
    private String explainImg;

    @Schema(description = "物流公司编码")
    private String shipperCode;

    @Schema(description = "物流单号")
    private String deliverySn;

    @Schema(description = "物流名称", example = "yshop")
    private String deliveryName;

    @Schema(description = "状态 0已提交等待平台审核 1平台已审核 等待用户发货/退款 2 用户已发货 3退款成功")
    private Integer state;

    @Schema(description = "售后状态-0正常1用户取消2商家拒绝")
    private Integer salesState;

    @Schema(description = "用户id", example = "24467")
    private Long userId;

    @Schema(description = "商家收货人")
    private String consignee;

    @MobileDesensitize
    @Schema(description = "商家手机号")
    private String phoneNumber;

    @Schema(description = "商家地址")
    private String address;

    @Schema(description = "收货状态：0、未收到，1、已收到", required = true, example = "0")
    private Integer receivingStatus;

    @Schema(description = "退款积分")
    private BigDecimal refundIntegral;

}
